package cn.edu.fjzzit.web.myhotel.service;

import cn.edu.fjzzit.web.myhotel.model.UserInfo;

import java.util.Set;

public interface UserService {
    /**
     * 根据用户名查看用户信息
     *
     * @param userName
     * @return 如果找不到对应用户，返回用户信息，如果找不到
     */

    UserInfo getUserInfo(String userName);

    /**
     * 根据用户id获取用户角色
     * @param userId
     * @return 返回用户拥有的角色名集合
     */
    Set<String>getUserRoles(Integer userId);

    /**
     * 根据用户id获取用户角色
     * @param userId
     * @return 返回用户拥有的角色
     */
    Set<String>getUserPermissions(Integer userId);

    /**
     * 添加用户信息，添加用户 到用户信息表中，并关联相应角色
     * @param userName
     * @param password
     * @param roleName
     */

    public void addUser(String userName,String password,String roleName) throws Exception;

    public  void removeUser(String userName)throws Exception;

    public void modifyPassword(String userName,String password);


    public boolean verifyPassword(String password,String salt,String cryptograph);
    void resetPassword(String userName) throws Exception;

   void resetSelfPassword(String userName,String password) throws Exception;
}

